﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ТипыФайловБухОтчетности
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"fbbf5062-c24c-40a9-ad9f-c83582d0b4d6\", \"Представление\":\"ОсновнойФайлОтчетности\"}")]
		ОсновнойФайлОтчетности = 0,//Основной файл отчетности
		[EnumMember(Value = "{\"Ссылка\":\"77dff1c5-8575-488a-8fba-89f7d7d3d1be\", \"Представление\":\"ЗаявлениеСоюзаСельхозПроизводителей\"}")]
		ЗаявлениеСоюзаСельхозПроизводителей = 1,//Заявление союза сельхозпроизводителей
		[EnumMember(Value = "{\"Ссылка\":\"61fdb675-3d61-4248-ae77-fcab4c575bf1\", \"Представление\":\"ПояснительнаяЗаписка\"}")]
		ПояснительнаяЗаписка = 2,//Пояснительная записка
		[EnumMember(Value = "{\"Ссылка\":\"f345e43d-3db8-4a11-bc8b-cc8ee370836e\", \"Представление\":\"АудиторскоеЗаключение\"}")]
		АудиторскоеЗаключение = 3,//Аудиторское заключение
	}
	public static partial class ТипыФайловБухОтчетности_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОсновнойФайлОтчетности = new Guid("35c89fad-d082-d6b4-40a9-c24cfbbf5062");//Основной файл отчетности
		public static readonly Guid ЗаявлениеСоюзаСельхозПроизводителей = new Guid("f789ba8f-d3d7-bed1-488a-857577dff1c5");//Заявление союза сельхозпроизводителей
		public static readonly Guid ПояснительнаяЗаписка = new Guid("abfc77ae-574c-f15b-4248-3d6161fdb675");//Пояснительная записка
		public static readonly Guid АудиторскоеЗаключение = new Guid("8ecc8bbc-70e3-6e83-4a11-3db8f345e43d");//Аудиторское заключение
		public static ТипыФайловБухОтчетности Получить(this ТипыФайловБухОтчетности Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТипыФайловБухОтчетности Получить(this ТипыФайловБухОтчетности Значение, Guid Ссылка)
		{
			if(Ссылка == ОсновнойФайлОтчетности)
			{
				return ТипыФайловБухОтчетности.ОсновнойФайлОтчетности;
			}
			else if(Ссылка == ЗаявлениеСоюзаСельхозПроизводителей)
			{
				return ТипыФайловБухОтчетности.ЗаявлениеСоюзаСельхозПроизводителей;
			}
			else if(Ссылка == ПояснительнаяЗаписка)
			{
				return ТипыФайловБухОтчетности.ПояснительнаяЗаписка;
			}
			else if(Ссылка == АудиторскоеЗаключение)
			{
				return ТипыФайловБухОтчетности.АудиторскоеЗаключение;
			}
			return ТипыФайловБухОтчетности.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТипыФайловБухОтчетности Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТипыФайловБухОтчетности Значение)
		{
			switch (Значение)
			{
				case ТипыФайловБухОтчетности.ОсновнойФайлОтчетности: return ОсновнойФайлОтчетности;
				case ТипыФайловБухОтчетности.ЗаявлениеСоюзаСельхозПроизводителей: return ЗаявлениеСоюзаСельхозПроизводителей;
				case ТипыФайловБухОтчетности.ПояснительнаяЗаписка: return ПояснительнаяЗаписка;
				case ТипыФайловБухОтчетности.АудиторскоеЗаключение: return АудиторскоеЗаключение;
			}
			return Guid.Empty;
		}
	}
}